Minutes, IBIS Quality Task Group

7 December 2021

12:00-13:00 EST (09:00-10:00 PST)

ROLL CALL

ANSYS                               Curtis Clark
Intel Technology                  * Michael Mirmak
Micron Technology                 * Randy Wolff
Siemens EDA                       * Weston Beal
Signal Integrity Software:        * Mike LaBonte
Teraspeed Labs:                   * Bob Ross
Zuken USA:                          Lance Wang

Everyone in attendance marked by *

NOTE: "AR" = Action Required.

-----------------------MINUTES ---------------------------
Mike LaBonte conducted the meeting.

Call for IBIS related patent disclosures:

- None


Call for opens:

- Weston Beal asked to discuss IQ list


Review of previous meeting minutes:
Minutes from the November 30, 2021 meeting were reviewed.  Randy Wolff moved to accept the
minutes.  Bob Ross seconded the motion.  Without objection, the minutes were approved.


ARs:
- AR: Mike LaBonte to investigate TSCHK encoding issue sent by Randy Wolff
  Done. Touchstone files must be ASCII, but Windows PowerShell was producing Unicode files.
  Randy Wolff suggested a future fix to have it save ASCII files.
  Weston Beal suggested documenting. Randy suggested the web page. Mike to do that AR
- AR: Bob Ross to upload prior IBISCHK source code distributions
  Not done yet.


NEW ITEMS:

IBISCHK710 development:
Bob Ross said the developer had one more fix to make, and the software would be sent soon.


New parser bug reports:
Bob Ross showed a new IBISCHK bug report from Michael Mirmak, about consistency of
IBIS-AMI root names.  Bob said the bug had not yet been assigned a number.  Mike LaBonte
described the request.  Mike said the change would involve calling AMI DLL functions,
whereas IBISCHK currently only checked for the presence of the functions.  Weston Beal
asked how that was done.  Mike said there were system functions to get the symbol table
for a DLL, but he could not recall the names of those functions.  Weston asked what would
go wrong if there was a root name inconsistency.  Mike said some model DLLs depended on an
assumption that the AMI_parameters_in string received from the EDA tool would have a root
name matching that found in the associated AMI file.  Similarly, the EDA tool might depend
on the AMI_parameters_out string passed back from the DLL having that same root name.

Michael Mirmak said the specification strongly implied that the root name had meaning. He
cited an example where there could be multiple streams of data keyed by that name.  We had
no way to check it today, but some tools had trouble where there was a root name mismatch.
That was difficult to debug when it occurred.  He suggested printing a NOTE or CAUTION
upon mismatch.  Mike said IBISCHK could only look at AMI_parameters_out returned by the
DLL.  The DLL might have that hard-coded, or might it pass on the root name that it
received in AMI_parameters_in.  Since a root name mismatch might cause the DLL to fail to
parse the passed parameter settings, we would need a means to detect that using only the
DLL outputs.

Michael said David Banas had a checking solution using his PyBERT tool.  Weston said other
things could be checked while IBISCHK was calling the functions.  He suggested having a
checker separate from IBISCHK.  We discussed means to link to the PyBERT software.
Michael felt there could be issues using open source code.  Mike mentioned the
IBIS_AMI_test software freely available on the IBIS website.  It was unlikely to see
further development. IBIS_AMI_test had a strict requirement for root name matching,
because parameter strings from piped processes were concatenated and had to be decoded.

Michael said he knew of two EDA tools that had issues with mismatches.  Mike said the root
was originally supposed to have no function, it was modeled after LISP data structures in
which an unexamined root word was required to be a placeholder to allocate an empty
structure..  Michael said there could be a future IBIS provision for an AMI selector, and
the root name might be key to that.  Mike said only AMI_parameters_out could be checked,
he was not sure if that would suffice.  Michael said the structure could be checked to
determine if there was a mismatch.  He wondered if IBIS could be enhanced to provide for a
DLL built-in test mode.


IBIS quality checklist:
Weston Beal said he had written an enhanced IBIS checker that was based on IBISCHK for
level 1 checking.  Other checks were based on the IBIS Quality Specification. Those checks
produced a quality level score.  Not all checks could be automated, human judgment was
required.  He asked if the checks could be redefined to be more programmable.

Weston also felt should there be new checks.  One new check for DDR would check if DQ and
STROBE pins used different [Model Selector]s.  They should not use the same selector.
Mike asked how we would detect DQ and STROBE pins, since name checking was likely to be
unreliable.  Randy Wolff said [Clocked Pins] could be used to find the DQ pins.  Mike said
the check should be a warning, since there was no related IBIS requirement.  Weston Beal
said that was OK, it would still affect the final quality score.

Mike said some checks required comparison against data external to the IBIS file, to which
IBISCHK had no access.  Weston gave the example of the IBIS requirement that the pin list
be complete.  Mike suggested checking ISS package pins against component pins might detect
component pins missing the the [Pin] table.  Weston said there should not be any unused
package pins.  Mike said Unused_port_termination was there to support unused package pins.
We discussed whether to pursue expanding the IBIS Quality Specification.  Weston felt that
not many model producers were using the checklist.  Mike felt it might be good to automate
in IBISCHK whichever checks could be automated.


Tabled topics (no discussion without motion):
  - BIRD181.2
  - IBISCHK security fixes


Weston Beal moved moved to adjourn. Michael Mirmak seconded. Without objection the meeting ended.

Meeting ended: 13:03 ET

Next meeting December 14, 2021
